Crate rustyline

source ·
Expand description

Readline for Rust

This implementation is based on Antirez’s Linenoise

Example

Usage

let mut rl = rustyline::Editor::<()>::new()?;
let readline = rl.readline(">> ");
match readline {
    Ok(line) => println!("Line: {:?}", line),
    Err(_) => println!("No input"),
}

Re-exports

pub use crate::config::Behavior;
pub use crate::config::ColorMode;
pub use crate::config::CompletionType;
pub use crate::config::Config;
pub use crate::config::EditMode;
pub use crate::config::HistoryDuplicates;

Modules

Completion API
Customize line editor
Contains error type for handling I/O and Errno errors
Syntax highlighting
Hints (suggestions at the right of the prompt as you type).
History API
Line buffer with current cursor position
Input validation API (Multi-line editing)

Structs

Completion/suggestion context
Line editor
EventContextcustom-bindings
Give access to user input.
Input key pressed and modifiers
The set of modifier keys that were triggered along with a key press.

Enums

Where to paste (relative to cursor position)
Where to move with respect to word boundary
character search
Commands
Eventcustom-bindings
Input event
EventHandlercustom-bindings
Event handler
Vi input modes
Input key pressed
Where to move
Different word definitions

Traits

May behave differently depending on:
External printer
Syntax specific helper.

Type Definitions

The number of times one command should be repeated.
The error type for I/O and Linux Syscalls (Errno)